home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
071-080
/
amok71
/
treq
/
treq.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
2KB
|
74 lines
(* ------------------------------------------------------------------------
:Program. TReq
:Contents. Turns DOS-Requesters on and off
:Usage. Usage: TReq PROCESS
:Usage. PROCESS is the name of the process otherwise the
:Usage. current process is affected
:Author. Kai Bolay [kai]
:Address. Snail-Mail: E-Mail:
:Address. Hoffmannstraße 168 UUCP: kai@amokle.adsp.sub.org
:Address. D-7250 Leonberg 1 FIDO: 2:2407/104.3
:History. v1.0 [kai] 18-May-92
:History. v1.1 [kai] 21-May-92 (+ Forbid-Locking)
:Copyright. FD
:Language. Oberon
:Translator. AMIGA OBERON v2.25d
:Remark. Requires OS 2.04
------------------------------------------------------------------------ *)
MODULE TReq;
IMPORT
d: Dos, e: Exec, y: SYSTEM;
CONST
Template = "PROCESS";
Version = "$VER: TReq 1.1 (21-May-92) by Kai Bolay\n\r";
VAR
RD: d.RDArgsPtr;
Array: ARRAY 1 OF LONGINT;
TaskName: e.STRPTR;
Process: d.ProcessPtr;
BEGIN
y.SETREG (0, d.Write (d.Output (), Version[6], y.SIZE (Version)-6));
(* 2.04 should be :-) *)
IF d.dos.lib.version < 37 THEN
IF d.Output () # NIL THEN
y.SETREG (0, d.Write (d.Output (), "Sorry, I need OS 2.04!\n", 23));
END;
HALT (20);
END;
RD := d.ReadArgs (Template, Array, NIL);
IF RD = NIL THEN
d.PrintF ("\[1mUsage: TReq %s\[0m\nTurns DOS-Requesters on and off\n",
y.ADR (Template));
HALT (20);
END;
e.Forbid;
IF Array[0] = NIL THEN
Process := e.FindTask (NIL);
ELSE
TaskName := y.VAL (e.STRPTR, Array[0]);
Process := e.FindTask (TaskName^);
IF Process = NIL THEN
d.PrintF ("Process not found!\n");
HALT (20);
END;
END;
IF Process.task.node.type # e.process THEN
d.PrintF ("This is no Process!\n");
HALT (20);
END;
IF Process.windowPtr # -1 THEN
Process.windowPtr := -1;
d.PrintF ("DOS-Requesters are now turned off!\n");
HALT (0);
ELSE
Process.windowPtr := 0;
d.PrintF ("DOS-Requesters are now turned on!\n");
HALT (5);
END;
e.Permit;
CLOSE
IF RD # NIL THEN d.FreeArgs (RD); RD := NIL END;
END TReq.